import type{ PropType } from "vue"
// 类型别名
export type ButtonType = 'primary' | 'success' | 'warning' | 'danger' | 'info'
export type ButtonSize = 'large' | 'small'
export type NativeType = 'button' | 'submit'| 'reset'
// 定义按钮属性 (都是可选的，所以加 ？)
export interface ButtonProps{
  // 按钮样式
  type?:ButtonType
  // button原生type
  nativeType?:NativeType 
  // 按钮大小
  size?:ButtonSize
  // 是否为朴素按钮
  plain?:boolean
  // 是否为圆角按钮
  round?:boolean
  // 是否为圆形按钮
  circle?:boolean
  // 按钮是否为禁用状态
  disabled?:boolean 
  // 自动聚焦
  autofocus?:boolean
  // 图标
  icon?:string
  loading?:boolean
}

// 法二：定义成对象
// export const  buttonProps = {
//   type:{
//     type:String as PropType<ButtonType>
//   },
//   nativeType:{
//     type:String as PropType<NativeType> ,
//     default:'button'
//   },
//   size:{
//     type:String as PropType<ButtonSize>
//   },
//   plain:{
//     type:Boolean
//   },
//   round:{
//     type:Boolean
//   },
//   circle:{
//     type:Boolean
//   },
//   disabled:{
//     type:Boolean
//   },
//   autofocus:{
//     type:Boolean
//   }
// }